package main
import (
	"fmt"
)
//channel 是引用类型，必须在make之后才能使用
func main(){
	intchan := make(chan int,3)
	intchan <- 100
	intchan <- 200
	//关闭管道，即无法再写入，但可以读
	close(intchan)
	value,ok := <- intchan
	fmt.Println("value :",value,ok)
	//intchan <- 22 //对已关闭的管道写入回报panic


	//遍历管道
	intchan2 := make(chan int ,100)
	for i:=0;i<100;i++{
		intchan2 <- i
	}
	close(intchan2)  //必须先关闭再遍历，不然会死锁
	//遍历
	for i := range intchan2{
		fmt.Println("num :",i)
	}
}